const { DataTypes } = require('sequelize');
const seq = require('../db/seq');

const User = seq.define('sa_user', {
  user_name: {  //用户名
    type: DataTypes.STRING,
    allowNull: false,//是否允许为空
  },
  account:{
    type:DataTypes.STRING,
    allowNull:false
  },
  password: { //密码
    type: DataTypes.STRING,
    allowNull: false,
  },
  avatar_file_path:{  //头像访问路径
    type:DataTypes.STRING,
    allowNull:true
  },
  is_admin: {
    type: DataTypes.INTEGER,  //是否为管理员 0 1数字类型
    defaultValue: 0,//非管理员0  管理员 1
  },
}, {
  tableName: 'sa_user',//数据库表名
  timestamps: true,  // 不需要添加 createdAt 和 updatedAt 两个时间戳字段,默认为true
    createdAt: 'created_at', // 自定义字段名
  updatedAt: 'updated_at',
  indexs:[
    // 显式声明唯一索引（替代字段级的unique:true）
    {
      unique: true,
      fields: ['user_name'],
      name: 'idx_user_name_unique' // 自定义索引名
    },
  ]

});

User.sync({ alter: true }) //如果不存在，则创建，如果存在，则不做任何操作
 .then(() => {
 console.log('=======User表同步成功=======');
 })
 .catch(err => {
 console.error('=======User表同步异常=======', err);

});


module.exports = User;